import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:jspang/model/cartInfo.dart';
import 'package:jspang/pages/cart/cart_count.dart';
import 'package:jspang/provide/cart.dart';
import 'package:provider/provider.dart';

class CartItem extends StatelessWidget {
  final CartInfoModel item;
  
  const CartItem(this.item);

  @override
  Widget build(BuildContext context) {
    // print(item);
    return Container(
      margin: EdgeInsets.fromLTRB(5.0, 2.0, 5.0, 2.0),
      padding: EdgeInsets.fromLTRB(5.0, 10.0, 5.0, 10.0),
      decoration: BoxDecoration(
        color: Colors.white,
        border: Border(
          bottom: BorderSide(width: 1,color: Colors.black12)
        )
      ),
      child: Row(
        children: <Widget>[
          _cartCheck(context,item),
          _cartImage(item),
          _cartGoodsName(item),
          _cartPrice(context,item)
        ],
      ),
    );
  }

  //复选按钮
  Widget _cartCheck(context,item) {
    return Container(
      child: Checkbox(
        value: item.isCheck,
        activeColor: Colors.pink,
        onChanged: (bool val){
          item.isCheck = val;
          Provider.of<CartProvider>(context,listen: false).changeCheckState(item);
        },
      ),
    );
  }

  //商品图片
  Widget _cartImage(item) {
    return Container(
      width: ScreenUtil().setWidth(150.0),
      height: ScreenUtil().setHeight(150.0),
      padding: EdgeInsets.all(3.0),
      // decoration: BoxDecoration(
      //   border: Border.all(width: 1,color: Colors.black12)
      // ),
      child: Image.network(item.images),
    );
  }

  //商品名称
  Widget _cartGoodsName(item) {
    return Container(
      width: ScreenUtil().setWidth(300),
      padding: EdgeInsets.all(10.0),
      alignment: Alignment.topLeft,
      child: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        children: <Widget>[
          Text(item.goodsName),
          CartCount(item)
        ],
      ),
    );
  }

  //商品价格
  Widget _cartPrice (context,item) {
    return Container(
      width: ScreenUtil().setWidth(150),
      alignment: Alignment.centerRight,
      child: Column(
        children: <Widget>[
          Text('￥${item.price}'),
          Container(
            child: InkWell(
              onTap: (){
                Provider.of<CartProvider>(context,listen: false).deleteOneGoods(item.goodsId);
              },
              child: Icon(Icons.delete_forever,color: Colors.black26,),
            ),
          )
        ],
      ),
    );
  }

}